﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BoringTodo
{
    public static class Constants
    {
        // 文件夹和文件名常量
        public const string AppDataFolder = "boringtodo";
        public const string NormalTasksFile = "tasks.json";
        public const string CompletedTasksFile = "completed_tasks.json";
        public const string SettingsFile = "settings.json";
        public const string LogsFolder = "logs";
        public const string ScreenshotsFolder = "截图";
        public const string BackupFolder = "备份";
        
        // 截图和计时器相关常量
        public const int DefaultScreenshotInterval = 60; // 默认截图间隔（分钟）
        public const int MaxBackupFiles = 100; // 最大备份文件数量
        public const int DataSaveInterval = 5; // 自动保存数据间隔（分钟）
        
        // UI相关常量
        public const string AppTitle = "BoringTodo - 任务管理";
        public const string TasksLabel = "待办任务";
        public const string CompletedTasksLabel = "已完成任务";
        public const int DefaultFormWidth = 800;
        public const int DefaultFormHeight = 600;
        
        // 报告相关常量
        public const string DefaultPrompt = "请根据以下完成的任务，总结一下我的工作内容，用第一人称：";
        public const string DefaultMonthlyPrompt = "请根据以下过去一个月完成的任务，总结我的月度工作内容，用第一人称，分条列出主要工作和成果：";
        
        // 日期格式
        public const string DateFormat = "yyyy-MM-dd";
        public const string TimeFormat = "HH:mm:ss";
        public const string DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
        public const string FileNameDateFormat = "yyyyMMdd_HHmmss";
        
        // 错误消息
        public const string ErrorLoadingData = "加载数据失败，请检查数据文件是否损坏";
        public const string ErrorSavingData = "保存数据失败，请确保有足够的磁盘空间和写入权限";
        public const string ErrorScreenshot = "截图失败，请检查权限和磁盘空间";
        public const string ErrorTaskValidation = "任务描述不能为空";
        
        // DataGridView列名
        public const string ColumnDescription = "描述";
        public const string ColumnNotes = "备注";
        public const string ColumnExpectedCompletionTime = "预期完成时间";
        public const string ColumnCompletionTime = "完成时间";
        
        // 邮件相关常量
        public const string EmailSubject = "任务数据备份";
        public const string EmailBody = "请参阅所附的任务数据备份文件。";
        public const string EmailSuccess = "邮件发送成功！";
        public const string EmailError = "邮件发送失败: ";
        
        // 版本信息
        public const string AppVersion = "1.1.0";
        public const string AppCopyright = "© 2023 BoringTodo";
    }
}
